#pragma once 

#include<stdio.h>

#define MAX 1024
#define NONE_FLUSH (1<<0)
#define LINE_FLUSH (1<<1)
#define FULL_FLUSH (1<<2)


typedef struct IO_FILE
{
    int fileno;   //文件描述符
    int flag;     //打开文件的方式
    char outbuffer[MAX];  //固定的缓冲区大小
    int bufferlen;    //buffer的有效元素
    int flush_method;  //刷新方法
}MyFile;

//自己封装的fopen
MyFile* MyFopen(const char *path, const char *mode);
//自己封装的fclose
void MyFclose(MyFile *);
//自己封装的fwrite
int MyFwrite(MyFile * , void *str, int len);
//自己的fflush
void MyFFlush(MyFile *);
